8f52aec6760a16385f6267c11da0bdfbd979323e,src/main/java/org/dbtools/gen/jpa/JPABaseRecordManagerRenderer.java,JPABaseRecordManagerRenderer,generateObjectCode,#SchemaEntity#String#,35
Before Change
constContent += TAB + "throw new IllegalArgumentException(\"EntityManager parameter cannot be null\");\n";
constContent += "}\n";
constContent += "this.entityManager = em;";
myClass.addConstructor(Access.PUBLIC, constParams, constContent);
// singleton factory
String managerClassName = JPARecordClassRenderer.createClassName(entity) + "Manager";
JavaVariable managerFactoryVar = myClass.addVariable(managerClassName, "manager");
managerFactoryVar.setStatic(true);
managerFactoryVar.setVolatile(true);
managerFactoryVar.setGenerateSetter(true); // for Mock Unit testing
String factoryMethodContet = "";
factoryMethodContet += "if (manager == null) {\n";
factoryMethodContet += TAB + "manager = new " + managerClassName + "(em);\n";
factoryMethodContet += "}\n\n";
factoryMethodContet += "manager.setEntityManager(em);\n";
factoryMethodContet += "\n";
factoryMethodContet += "return manager;\n";
List<JavaVariable> factoryParams = new ArrayList<>();
factoryParams.add(new JavaVariable("EntityManager", "em"));
JavaMethod factoryMethod = myClass.addMethod(Access.PUBLIC, managerClassName, "get" + managerClassName, factoryParams, factoryMethodContet);
factoryMethod.setStatic(true);
After Change
// Since this is generated code.... suppress all warnings
myClass.addAnnotation("@SuppressWarnings(\"all\")");
if (!injectionSupport) {
// constructor
myClass.setCreateDefaultConstructor(false);
myClass.addConstructor(Access.PRIVATE, null, null);
List<JavaVariable> constParams = new ArrayList<>();
constParams.add(new JavaVariable("EntityManager", "em"));
String constContent = "";
constContent += "if (em == null) {\n";
constContent += TAB + "throw new IllegalArgumentException(\"EntityManager parameter cannot be null\");\n";
constContent += "}\n";
constContent += "this.entityManager = em;";
myClass.addConstructor(Access.PUBLIC, constParams, constContent);
// singleton factory
String managerClassName = JPARecordClassRenderer.createClassName(entity) + "Manager";
JavaVariable managerFactoryVar = myClass.addVariable(managerClassName, "manager");
managerFactoryVar.setStatic(true);
managerFactoryVar.setVolatile(true);
managerFactoryVar.setGenerateSetter(true); // for Mock Unit testing
String factoryMethodContet = "";
factoryMethodContet += "if (manager == null) {\n";
factoryMethodContet += TAB + "manager = new " + managerClassName + "(em);\n";
factoryMethodContet += "}\n\n";
factoryMethodContet += "manager.setEntityManager(em);\n";
factoryMethodContet += "\n";
factoryMethodContet += "return manager;\n";
List<JavaVariable> factoryParams = new ArrayList<>();
factoryParams.add(new JavaVariable("EntityManager", "em"));
JavaMethod factoryMethod = myClass.addMethod(Access.PUBLIC, managerClassName, "get" + managerClassName, factoryParams, factoryMethodContet);
factoryMethod.setStatic(true);
}